Field of the Disclosure
The present invention relates to content display devices. In particular, but not by way of limitation, the present invention relates to apparatus and methods for improving the display of content on content display devices.
Description of Related Art
Content display devices such as smartphones, netbooks, gaming devices, PDAs, desktop computers, televisions, and laptop computers are now ubiquitous. And these devices now very commonly include hardware that provides network connectively to web servers and software (e.g., web browsers) that provide an interface for users to request and view content from these web servers.
The content that is provided by these web servers, and displayed on these content display devices, is increasingly dynamic in nature. In addition to graphically intensive games, for example, it is very common for a variety of content associated with a webpage to include animations, which may be animated out by rendering a series of bitmap images to create the appearance of motion. Common and ongoing issues with the display of this type of content are maintaining the quality of a user's experience while managing limited power resources.
More specifically, users have become accustomed to viewing animated content in a smooth, fast, and uninterrupted manner Although content display devices continue to be produced with more and more advanced graphics processing resources, these resources are still not fast enough to provide seamless, consistent animation and/or these advanced content display devices demand more and more power, which is often limited.
Existing graphics processing units (GPUs) have a tiled-rendering (or binning) architecture, which divides the output render target (GPU cache) into “tiles” onto which it renders to separately. Each tile fits into a fast dedicated memory when the GPU is rendering onto it. The dedicated graphics memory allows rapid and repeated read/write operations which are often beneficial for complex rendering operations (e.g., alpha-blending, z-buffer access, and operations using a large amount of overdraw). Typically the size of the graphics memory is limited, and has less capacity than system memory, so only a portion of the render target can fit within the graphics memory. Because of the limited size of the graphics memory, the render target is broken into tiles. Once a tile is rendered, it is copied from the graphics memory to the system memory, which is often slower than the graphics memory, but has a larger capacity. While use of the graphics memory is advantageous when complex and repeated rendering operations on the same tile are in order, the overhead of dividing up the render target into tiles can be great.